#gifts()
# print(__name__)
# spmGifts_1(3)

# 求两数之和 不写return，默认返回空       写return，得到返回值
# 函数中调用另一个函数  叫做嵌套
# 在一个函数中调用自己 叫做递归
# def mySum(a,b):
#     c=a+b
#     d=mySub(a,b)
#     return c,d
# def mySub(a,b):
#     d=a-b
#     return d
# if __name__=='__main__':
#     d=mySum(10,20)
#     print(d)
#
#
# def jieChneg(n):
#     z=1
#     if n>1:
#         for i in range(1,n+1):
#             #z=z*i
#             z*=i

#函数的递归
# def jieCheng2(n):
#     if n>0:
#         z=n*jieCheng2(n-1)
#         print("____")
#         return z
#     else:
#         return 1
# def sSomething(*t,**d):
#     print(t,d)
#
#
# def mySum(a,b):
#     c=a+b
#     return c
# def mySum1(a,b):
#     return a+b
# #对于函数体中只有一行代码且有返回值的函数，可以定义成匿名函数
# f=lambda a,b:a+b
#
#
# if __name__=='__main__':
#sSomething(1,2,3,"a",a=2,b=3,c="abc")
#   print(mySum(1,2))
#   print(f(10,20))
# def outer(f):
#     print("我是outer函数体")
#     def inner(*d):
#         print(f"我开始运算了：{f}")
#         print(f(*d))
#         print(f"我运算了结束了")
#     return inner
# @outer
# def mySum1(a=10,b=20):
#      return a+b
# @outer
# def mySub(a=20,b=10):
#      return a-b
#
#
#
# if __name__ == '__main__':
#     # i=outer()()
#     # i=outer()
#     # i()
#     # outer(mySum1)(10,12)
#     mySum1()
#     mySub()
#
#     mySum1(1,2)
#     mySum1(5,2)
#     mySum1(6,2)
#     mySum1(7,2)
#     mySum1(8,2)
#     mySub(1,2)
#     mySub(5,2)
#     mySub(7,2)
#     mySub(6,2)
#     mySub(3,2)


def mySum1(a,b):
     return a+b

def mySub(a,b):
     return a-b






